const mongoose = require('mongoose');

const reportSchema = new mongoose.Schema({
  // 举报人
  reporter: {
    type: mongoose.Schema.Types.ObjectId,
    ref: 'User',
    required: true
  },
  // 举报类型
  type: {
    type: String,
    enum: ['product', 'user', 'order'],
    required: true
  },
  // 被举报的对象ID（商品/用户/订单）
  targetId: {
    type: mongoose.Schema.Types.ObjectId,
    required: true
  },
  // 举报原因类型
  reason: {
    type: String,
    enum: [
      '虚假信息',
      '违禁物品',
      '不当行为',
      '骚扰行为',
      '欺诈行为',
      '其他'
    ],
    required: true
  },
  // 详细说明
  description: {
    type: String,
    required: true
  },
  // 处理状态
  status: {
    type: String,
    enum: ['待处理', '处理中', '已处理', '已驳回'],
    default: '待处理'
  },
  // 处理结果
  result: {
    type: String
  },
  // 处理人（管理员）
  handler: {
    type: mongoose.Schema.Types.ObjectId,
    ref: 'User'
  },
  // 处理时间
  handledAt: {
    type: Date
  },
  createdAt: {
    type: Date,
    default: Date.now
  }
});

const Report = mongoose.model('Report', reportSchema);
module.exports = Report; 